package com.ovopark.organize.server.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ovopark.organize.common.model.pojo.CreatUserRolePojo;
import com.ovopark.organize.server.model.entity.DepartmentConfigureContent;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class FranchiseeContractSaveVo {

    /** ID */
    private Integer id;
    /** 用户帐号 */
    private String userName;
    /** 显示名称 */
    private String showName;
    /** 用户密码 */
    private String password;
    /** 电话 */
    private String phone;
    /** 移动电话 */
    private String mobilePhone;
    /** 邮箱 */
    private String mail;
    /** 区域语言 */
    private String localelan;
    /** 上级用户的id */
    private Integer pId;
    /** 创建时间 */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date validateDate;
    private String thumbnail;
    /**
     *  用户头像
     */
    private String thumbUrl;
    /**用户所属企业分组*/
    private Integer groupId;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    //新增字段手机APP中是否是单点登录
    private Integer isSingleSign;
    private String employeeNumber; //工号
    private String pyName;//拼音名
    private String pyFirst;//拼音首字母
    private Integer isAgency;
    private Integer isFrozen;// 0正常    1被冻结
    private String staffImageUrl;//员工头像
    private String position;//职位，岗位
    private Integer isAssign;

    /** 国家码 */
    private String nationalCode = "86";
    /**
     * 所有下级用户
     * @return
     */
    private String subUserIds;
    /**
     * 有效状态 0 正常 1 已过期  2 即将过期
     */
    private Integer validateStatus;
    private Integer dutiesId;

    //  加盟商类型 0 普通账号 1 加盟商 2 加盟商员工
    private Integer franchiseeType;

    //加盟日期
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date franchiseeTime;
    // 合同开始时间
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date contractStartTime;
    // 合同结束时间
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date contractEndTime;
    // 合同URL
    private List<FileVo> contractUrl;
    // 加盟门店
    private List<Integer> depPrivilegeIds;
    // 角色id
    private List<Integer> roleIds;
    // 自定义字段 内容
    private List<DepartmentConfigureContent> configureContents;
    // 角色对应 门店
    private List<CreatUserRolePojo> roleDepStr;
    //登录是否需要短信验证码验证(0未配置1以配置)
    private Integer needSms;
    // 是否 删除加盟商合同 0 未删除 1 已删除
    private Integer isDelFranchiseeContract;

    public Integer getpId() {
        return pId;
    }

    public void setpId(Integer pId) {
        this.pId = pId;
    }


}
